package com.ag.bean;

import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.hibernate.annotations.GenericGenerator;

/**
 * TbContactLog entity.
 * 
 * @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "TB_CONTACT_LOG", schema = "dbo", catalog = "AGDB")
public class TbContactLog implements java.io.Serializable {

	// Fields

	private String ctId;
	private TbContactWay tbContactWay;
	private String ctAudioUrl;
	private Date ctBeginTime;
	private Date ctFinishTime;
	private String ctSmsContent;
	private String ctFaxFile;
	private String ctCaller;
	private String ctCalled;
	private String a;
	private String b;
	private String c;

	// Constructors

	/** default constructor */
	public TbContactLog() {
	}

	/** minimal constructor */
	public TbContactLog(TbContactWay tbContactWay) {
		this.tbContactWay = tbContactWay;
	}

	/** full constructor */
	public TbContactLog(TbContactWay tbContactWay, String ctAudioUrl,
			Date ctBeginTime, Date ctFinishTime, String ctSmsContent,
			String ctFaxFile, String ctCaller, String ctCalled, String a,
			String b, String c) {
		this.tbContactWay = tbContactWay;
		this.ctAudioUrl = ctAudioUrl;
		this.ctBeginTime = ctBeginTime;
		this.ctFinishTime = ctFinishTime;
		this.ctSmsContent = ctSmsContent;
		this.ctFaxFile = ctFaxFile;
		this.ctCaller = ctCaller;
		this.ctCalled = ctCalled;
		this.a = a;
		this.b = b;
		this.c = c;
	}

	// Property accessors
	@GenericGenerator(name = "generator", strategy = "uuid.hex")
	@Id
	@GeneratedValue(generator = "generator")
	@Column(name = "CT_ID", unique = true, nullable = false, length = 32)
	public String getCtId() {
		return this.ctId;
	}

	public void setCtId(String ctId) {
		this.ctId = ctId;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "CT_WAY", nullable = true)
	public TbContactWay getTbContactWay() {
		return this.tbContactWay;
	}

	public void setTbContactWay(TbContactWay tbContactWay) {
		this.tbContactWay = tbContactWay;
	}

	@Column(name = "CT_AUDIO_URL", length = 100)
	public String getCtAudioUrl() {
		return this.ctAudioUrl;
	}

	public void setCtAudioUrl(String ctAudioUrl) {
		this.ctAudioUrl = ctAudioUrl;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "CT_BEGIN_TIME", length = 23)
	public Date getCtBeginTime() {
		return this.ctBeginTime;
	}

	public void setCtBeginTime(Date ctBeginTime) {
		this.ctBeginTime = ctBeginTime;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "CT_FINISH_TIME", length = 23)
	public Date getCtFinishTime() {
		return this.ctFinishTime;
	}

	public void setCtFinishTime(Date ctFinishTime) {
		this.ctFinishTime = ctFinishTime;
	}

	@Column(name = "CT_SMS_CONTENT", length = 400)
	public String getCtSmsContent() {
		return this.ctSmsContent;
	}

	public void setCtSmsContent(String ctSmsContent) {
		this.ctSmsContent = ctSmsContent;
	}

	@Column(name = "CT_FAX_FILE", length = 100)
	public String getCtFaxFile() {
		return this.ctFaxFile;
	}

	public void setCtFaxFile(String ctFaxFile) {
		this.ctFaxFile = ctFaxFile;
	}

	@Column(name = "CT_CALLER", length = 20)
	public String getCtCaller() {
		return this.ctCaller;
	}

	public void setCtCaller(String ctCaller) {
		this.ctCaller = ctCaller;
	}

	@Column(name = "CT_CALLED", length = 1024)
	public String getCtCalled() {
		return this.ctCalled;
	}

	public void setCtCalled(String ctCalled) {
		this.ctCalled = ctCalled;
	}

	@Column(name = "A", length = 50)
	public String getA() {
		return this.a;
	}

	public void setA(String a) {
		this.a = a;
	}

	@Column(name = "B", length = 50)
	public String getB() {
		return this.b;
	}

	public void setB(String b) {
		this.b = b;
	}

	@Column(name = "C", length = 50)
	public String getC() {
		return this.c;
	}

	public void setC(String c) {
		this.c = c;
	}

}